#include "OpenGLCommon.h"

#ifndef _OPENGL_OPENGL_SYSTEM_H_
#define _OPENGL_OPENGL_SYSTEM_H_

namespace Hiranipra {
	namespace Platform {
		namespace Graphics {

			class OpenGLSystem : implements IGraphicsSystem
			{
			public:
				OpenGLSystem();
				virtual ~OpenGLSystem();

				virtual const vector<Adapter> QueryAdapters();
				virtual const vector<Resolution> QueryResolutions( const Adapter& adapter );
				virtual const AdapterCapabilities QueryAdapterCapabilities( const Adapter& adapter );

				virtual IGraphicsDevice* CreateDevice( const Adapter& adapter, const Resolution& resolution, const DeviceParameters& parameters );
			};

		}
	}
}

#endif // _OPENGL_OPENGL_SYSTEM_H_
